<?php

namespace App\Utils;

use Illuminate\Http\JsonResponse;

/**
 * 错误代码工具类
 * Author: Albert3306
 * Date: 2020/6/12
 * @package App\Utils
 */
class CodeEnumUtils
{
    protected static $code_enum_200 = '操作成功！';
    protected static $code_enum_201 = '系统错误！';
    protected static $code_enum_404 = '没有此操作权限！';
    protected static $code_enum_800 = '请选择查询日期！';

    /**
     * 用户信息
     */
    protected static $code_enum_1000 = '用户名不能为空！';
    protected static $code_enum_1001 = '密码不能为空！';
    protected static $code_enum_1002 = '验证码不能为空！';
    protected static $code_enum_1003 = '验证码错误！';
    protected static $code_enum_1004 = '“用户名”、“密码”错误或帐号已被禁用，请重新登录或联系系统管理员！';

    /**
     * 项目信息
     */
    protected static $code_enum_10100 = '请填写项目名称！';
    protected static $code_enum_10101 = '项目名称请不要超过 80 字！';
    protected static $code_enum_10102 = '请填写项目经理';
    protected static $code_enum_10103 = '项目经理名称请不要超过 80 字！';
    protected static $code_enum_10104 = '设计单位请不要超过 80 字！';
    protected static $code_enum_10105 = '项目描述请不要超过 500 字！';
    protected static $code_enum_10106 = '请选择项目位置！';
    protected static $code_enum_10107 = '监理单位请不要超过 80 字！';
    protected static $code_enum_10108 = '施工单位请不要超过 500 字！';
    protected static $code_enum_10110 = '请填写部位名称！';
    protected static $code_enum_10111 = '部位名称请不要超过 80 字！';
    protected static $code_enum_10112 = '请选择项目位置！';

    /**
     * 获取响应参数
     * Author: Albert3306
     * Date: 2020/6/11
     * @param int $code
     * @param array $data
     * @return JsonResponse
     */
    public static function response($code = 200, $data = [])
    {
        $response['code'] = $code;
        $codeName = 'code_enum_' . $code;
        $response['message'] = self::$$codeName;
        $response['data'] = $data;

        return response()->json($response);
    }
}
